﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;

namespace Krist_em_up.Interface
{
    //public class ListBox<T>
    //{
    //    protected int width;
        
    //    protected int height;

    //    protected List<T> items;

    //    protected int index;

    //    //protected Vector2 position;

    //    public int Width { 
    //        get{ return width; }
    //        set{ width = value; }
    //    }

    //    public int Height
    //    {
    //      get { return height; }
    //      set { height = value; }
    //    }

    //    public List<T> Items {
    //        get { return items; }
    //        set { items = values; }
    //    }

    //    public int Index { 
    //        get { return index;}
    //        set {
    //            if(value > 0 && value < items.Count)
    //                index = value;
    //        }
    //    }

    //    public Vector2 Position { get; set; }

    //    public Color BackgroundColor { get; set; }

    //    public Color ForegroundColor { get; set; }

    //    public Color ActiveBackgroundColor { get; set; }

    //    public Color ActiveForegroundColor { get; set; }

    //    public SpriteFont Font { get; set; }

    //    protected Texture2D Void { get; set; }

    //    protected SpriteBatch spriteBatch { get; set; }

    //    protected Rectangle Area { get; set; }

    //    public ListBox(Kristemup k, Vector2 p, int width, int height, IEnumerable<T> collection)
    //    {
    //        spriteBatch = new SpriteBatch(k.game.GraphicsDevice);
    //        Font = k.Content.Load<SpriteFont>("Fonts/Texture");
    //        Position = p;
    //        Width = width;
    //        Height = height;
    //        items = new List<T>(collection);
    //    }

    //    public void Update(GameTime gameTime)
    //    {
    //        Area = new Rectangle((int)Position.X, (int)Position.Y, Width, Height);
    //    }

    //    public void Draw()
    //    {
    //        spriteBatch.Begin();
    //        spriteBatch.Draw(Void, Area, Color.White);
            

    //        spriteBatch.End();
    //    }

    //    protected int[] CalculateRange()
    //    {
    //        int[] ret = new int[2]();
    //        int nbDisplayedElements = Width / (2 * Font.MeasureString("AZERTYUIOOOOOOPQSDFGHJKLMWXCVBN").Y);
    //        ret[0] = nbDisplayedElements;

    //        if (index < Math.Ceiling(nbDisplayedElements / 2))
    //            ret[1] = 0;
    //        else if ((Items.Count - index - 1) > Math.Ceiling(nbDisplayedElements / 2))
    //            ret[1] =  Items.Count - nbDisplayedElements - 1;
    //        else ret[1] = index - Math.Ceiling(nbDisplayedElements / 2) - 1;

    //        return ret;
    //    }
    //}
}
